Bộ trình dịch GNU (
tiếng Anh:
GNU Compiler Collection - thường được viết tắt thành
GCC) là một tập hợp các
trình biên dịch được thiết kế cho nhiều
ngôn ngữ lập trình khác nhau. GCC là một thành phần quan trọng của
GNU toolchain, và được hầu hết các hệ điều hành
giống Unix, như
Linux và
Mac OS X chọn làm trình dịch tiêu chuẩn. Các dòng
hệ điều hành BSD đa phần đều sử dụng GCC, dù một số dòng như
FreeBSD và
OpenBSD lại sử dụng
Clang làm trình biên dịch chuẩn. Các phiên bản sau đo của GCC cũng hỗ trợ trên cả
Microsoft Windows và một số hệ điều hành khác. GCC cũng có thể biên dịch chương trình cho cả
Android và
iOS.Tên gốc của GCC là
GNU C Compiler (Trình biên dịch C của GNU), do ban đầu nó chỉ hỗ trợ dịch
ngôn ngữ lập trình C, GCC 1.0 được phát hành vào năm 1987, sau đó được mở rộng hỗ trợ dịch
C++ vào
tháng 12 cùng năm đó.
[1] Các thành phần đầu vào của trình biên dịch (front end) sau đó cũng được phát triển cho các ngôn ngữ lập trình
Fortran,
Pascal,
Objective C,
Java,
Ada,
Go và một số ngôn ngữ khác.
[2]GCC đã tương thích với rất nhiều nền tảng
kiến trúc máy tính đa dạng, và được sử dụng rộng rãi như một công cụ làm môi trường phát triển các phần mềm thương mại, có bản quyền và
nguồn đóng. GCC cũng có thể dùng trong hầu hết các hệ thống nhúng (embedded system), như
Symbian (gọi là gcce),
[3] kiến trúc ARM,
AMCC,
Freescale Power Architecture trên chip (Freescale Power ISA-based chips),
[4] và nhiều hệ thống nhúng khác. GCC cũng được phát triển cho nhiều nền tảng khác, bao gồm cả những nền tảng video game như
Playstation 2,
[5] Cell SPE of PlayStation 3
[6] và
Sega Dreamcast.
[7]Quỹ Phần mềm Tự do (Free Software Foundation, viết tắt là FSF) phân phối GCC dưới
giấy phép công cộng GNU (GNU GPL) và
giấy phép công cộng cấp thấp GNU (GNU LGPL). GCC cũng đóng một vai trò quan trọng trong lịch sử phát triển của
phần mềm tự do. Những công ty như
CodeSourcery kinh doanh bằng cách hỗ trợ và phát triển tính tương thích của GCC với đa dạng các nền tảng, còn các nhà sản xuất chip ngày nay thì cho rằng một kiến trúc thành công thì phải có yếu tố cần thiết là sự tương thích với GCC.